package com.molichuxing.services.infrastructure.service;

import com.molichuxing.framework.service.RootService;
import com.molichuxing.services.infrastructure.dto.request.create.EsignCompanyCreateDto;
import com.molichuxing.services.infrastructure.dto.request.modify.EsignCompanyModifyDto;
import com.molichuxing.services.infrastructure.dto.response.EsignCompanyDto;

import java.util.List;
import java.util.Map;


/**
 * <p>
 * 公司印章 服务类
 * </p>
 *
 * @author zhaopenghui
 * @since 2019-10-08
 */
public interface EsignCompanyService extends RootService {

    /**
     * 添加
     *
     * @param esignCompanyCreateDto
     * @return
     * @throws Exception
     */
    public Integer createEsignCompany(EsignCompanyCreateDto esignCompanyCreateDto) throws Exception;

    /**
     * 修改
     *
     * @param esignCompanyModifyDto
     * @return
     * @throws Exception
     */
    public Boolean modifyEsignCompany(EsignCompanyModifyDto esignCompanyModifyDto) throws Exception;

    /**
     * 通过id查询
     *
     * @param id
     * @return
     */
    public EsignCompanyDto getEsignCompanyById(Integer id);

    /**
     * 通过公司id查询
     *
     * @param companyId
     * @param type
     * @return
     */
    public EsignCompanyDto getEsignCompanyByCompanyId(Integer companyId, Integer type);

    /**
     * 获取印章list
     *
     * @return
     */
    public List<EsignCompanyDto> getEsignCompanyList();

    /**
     * 获取印章map
     *
     * @return
     */
    public Map<Integer, EsignCompanyDto> getEsignCompanyMap();

}
